package com.sunplus.common.core.ossstorage.inteface;

import java.io.InputStream;
import java.util.Date;
import java.util.stream.Stream;

/**
 * @author shaoqi
 * @date 下午 2:50 2021/2/7 0007
 */
public interface IStorageFile {

    /**
     * 获取文件路径
     * @return 文件路径
     */
    String getPath();

    /**
     * 获取文件的名字
     * @return 文件名字
     */
    String getName();

    /**
     * 获取文件大小
     * @return 文件大小
     */
    long getSize();

    /**
     * 获取文件的最后修改的时间 (阿里云本身就提供这个属性的，本地文件的话 可能就不需要了)
     * @return 最后修改的时间
     */
    Date getLastUpdated();

    /**
     * 获取文件的类型
     * @return 文件类型
     */
    String getFileType();

    /**
     * 获取一个读取流读取文件数据
     * @return 文件流
     */
    InputStream openRead();

    /**
     * 获取一个写流往文件中写数据
     * @return 文件流
     */
    InputStream openWrite();
}
